package cn.elwy.framework.config;
// package cn.elwy.framework.config;
//
// import java.math.BigInteger;
// import java.nio.charset.Charset;
// import java.util.ArrayList;
// import java.util.List;
//
// import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
// import
// org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
// import
// org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
// import org.springframework.context.annotation.Bean;
// import org.springframework.context.annotation.Configuration;
// import org.springframework.http.MediaType;
//
// import com.alibaba.fastjson.serializer.SerializeConfig;
// import com.alibaba.fastjson.serializer.SerializerFeature;
// import com.alibaba.fastjson.serializer.ValueFilter;
// import com.alibaba.fastjson.support.config.FastJsonConfig;
// import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
// import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
//
/// **
// * fastjson配置类
// * @author fengshuonan
// * @date 2017-05-23 22:56
// */
// @Configuration("defaultFastjsonConfig")
// @ConditionalOnClass(com.alibaba.fastjson.JSON.class)
// @ConditionalOnMissingBean(FastJsonHttpMessageConverter.class)
// @ConditionalOnWebApplication
// public class DefaultFastjsonConfig {
//
// @Bean
// public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {
// FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
// converter.setFastJsonConfig(fastjsonConfig());
// converter.setSupportedMediaTypes(getSupportedMediaType());
// return converter;
// }
//
// /**
// * fastjson的配置
// */
// public FastJsonConfig fastjsonConfig() {
// FastJsonConfig fastJsonConfig = new FastJsonConfig();
// fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,
// SerializerFeature.WriteMapNullValue);
// fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
// ValueFilter valueFilter = new ValueFilter() {
// public Object process(Object o, String s, Object o1) {
// if (null == o1) {
// o1 = "";
// }
// return o1;
// }
// };
// fastJsonConfig.setCharset(Charset.forName("utf-8"));
// fastJsonConfig.setSerializeFilters(valueFilter);
//
// // 解决Long转json精度丢失的问题
// SerializeConfig serializeConfig = SerializeConfig.globalInstance;
// serializeConfig.put(BigInteger.class, ToStringSerializer.instance);
// serializeConfig.put(Long.class, ToStringSerializer.instance);
// serializeConfig.put(Long.TYPE, ToStringSerializer.instance);
// fastJsonConfig.setSerializeConfig(serializeConfig);
// return fastJsonConfig;
// }
//
// /**
// * 支持的mediaType类型
// */
// public List<MediaType> getSupportedMediaType() {
// ArrayList<MediaType> mediaTypes = new ArrayList<>();
// mediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
// return mediaTypes;
// }
//
// }
